/*
 * Uma classe abstrata com o objetivo de apenas dar as caracteristicas mais comuns
 * para suas subClasses Suprimento, Utilitario e Armamento.
 */
package rpg.recurso;

/**
 * @author Douglas
 * @since 26/01/13
 * @version 0.5
 */
public abstract class Recurso {
    //Atributos
    private String nome;
    private int quantidade;
    
    /**
     * Metodo construtor para as subClasses
     * @param nome
     * @param quantidade 
     */
    public Recurso(){
        
    }
    
    /**
     * Metodo construtor para as subClasses
     * @param nome
     * @param quantidade 
     */
    public Recurso(String nome, int quantidade){
        this.nome = nome;
        this.quantidade = quantidade;
    }
    
    /*
     * Encapsulamento dos atributos
     * @return 
     */
    
    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public int getQuantidade() {
        return quantidade;
    }

    public void setQuantidade(int quantidade) {
        this.quantidade = quantidade;
    }

    /**
     * Testa a quantidade do item, caso este item esteja com a quantidade maior
     * que zero retorna true(Item disponivel), caso contrario retorna false.
     * @return true or false
     */
    public boolean disponivel() {
        if (getQuantidade() <= 0) {
            return false;
        } else {
            return true;
        }
    }
}
